// hook/useLocale.ts
import { computed } from 'vue'
import { setItem } from '@/utils/auth'

import { useI18n } from 'vue-i18n'

import { ElMessage } from 'element-plus'

export default function useLocale() {
  const i18n = useI18n() //实例化i18n
  const getT = () => {
    return i18n.t // 实例用具t 访问语言变量
  }
  const currentLocale = computed(() => {
    return i18n.locale.value // 固定写法 获取当前语言设置
  })
  // 切换语言
  const changeLocale = (value: string | number) => {
    if (typeof value === 'string') {
      i18n.locale.value = value //赋值切换语言
      setItem('localeLang', value) //修改本地存储
      window.location.reload()
      ElMessage.success(i18n.t('setLanguage.tip')) //提示信息
    }
  }
  return {
    $t: getT(),
    currentLocale,
    changeLocale,
  }
}
